package org.example.demo;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class CreateTableWindow extends Application {

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("新建表");

        // 创建一个网格布局
        GridPane grid = new GridPane();
        grid.setHgap(10);
        grid.setVgap(10);
        grid.setPadding(new Insets(20, 20, 20, 20));

        // 添加表名输入框
        TextField tableNameField = new TextField();
        tableNameField.setPromptText("表名");
        grid.add(new Label("表名:"), 0, 0);
        grid.add(tableNameField, 1, 0);

        // 添加列名输入框
        TextField columnNameField = new TextField();
        columnNameField.setPromptText("列名");
        grid.add(new Label("列名:"), 0, 1);
        grid.add(columnNameField, 1, 1);

        // 添加数据类型选择框
        ComboBox<String> dataTypeComboBox = new ComboBox<>();
        dataTypeComboBox.getItems().addAll("整数", "字符串", "日期");
        dataTypeComboBox.setPromptText("数据类型");
        grid.add(new Label("数据类型:"), 0, 2);
        grid.add(dataTypeComboBox, 1, 2);

        // 添加创建表按钮
        Button createTableButton = new Button("创建表");
        grid.add(createTableButton, 1, 3);

        // 创建一个场景并将网格布局添加到场景中
        Scene scene = new Scene(grid, 300, 200);
        primaryStage.setScene(scene);
        primaryStage.show();

        // 创建表按钮点击事件处理
        createTableButton.setOnAction(event -> {
            String tableName = tableNameField.getText();
            String columnName = columnNameField.getText();
            String dataType = dataTypeComboBox.getValue();

            // 这里可以调用数据库管理系统的 API 来创建表，这里仅作为演示
            System.out.println("表名: " + tableName);
            System.out.println("列名: " + columnName);
            System.out.println("数据类型: " + dataType);
            // 调用数据库管理系统的 API 创建表的操作
        });
    }

    public static void main(String[] args) {
        launch(args);
    }
}
